<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <title>Frequently Asked Questions - ZSNES Documentation</title>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <link rel="stylesheet" href="styles/print.css" media="print" type="text/css" />
  <link rel="stylesheet" href="styles/radio.css" title="Radio's style" media="screen" type="text/css" />
  <link rel="alternate stylesheet" href="styles/jipcy.css" title="Jipcy's style" media="screen" type="text/css" />
  <link rel="alternate stylesheet" href="styles/plaintxt.css" title="Plain Text" media="screen" type="text/css" />

  <link rel="contents" href="index.htm" title="Index" />
  <link rel="start" href="readme.htm" title="Readme" />
  <link rel="previous" href="games.htm" title="Games" />
  <link rel="next" href="support.htm" title="Getting Support" />
  <link rel="help" href="support.htm" title="Getting Support" />
  <link rel="copyright" href="license.htm" title="GNU General Public License" />
</head>

<body>

<div id="header">
  <a href="readme.htm" title="ZSNES Documentation Home"><img id="logo" src="images/zsneslogo.png" alt="The ZSNES Logo" /></a>
  <h1>ZSNES v1.51 Documentation</h1>
</div>

<div id="nav_column">

<div id="navigation">
  <h2>Navigation</h2>

  <ul class="navigation_list">
    <li><a href="index.htm" title="ZSNES Documentation Index">Index</a></li>
    <li><a href="readme.htm" title="General documentation">Readme</a></li>
    <li><a href="gui.htm" title="Description of the GUI and its options">GUI</a></li>
    <li><a href="netplay.htm" title="Documentation for Netplay">Netplay</a></li>
    <li><a href="advanced.htm" title="Advanced Usage">Advanced Usage</a></li>
    <li><a href="games.htm" title="Information about Games">Games</a></li>
    <li><a href="faq.htm" title="Frequently Asked Questions">FAQ</a>
      <ul>
        <li><a href="#universal">Universal</a></li>
        <li><a href="#win">Win Port</a></li>
        <li><a href="#sdl">SDL Port</a></li>
        <li><a href="#dos">DOS Port</a></li>
      </ul>
    </li>
  </ul>
  <hr />
  <ul>
    <li><a href="support.htm" title="How to get support">Getting Support</a></li>
    <li><a href="history.htm" title="The log of changes to ZSNES">History</a></li>
    <li><a href="about.htm" title="A brief description of the ZSNES emulator and ZSNES documentation projects">About</a></li>
    <li><a href="license.htm" title="GNU General Public License">License</a></li>
  </ul>
  <hr />
  <ul>
    <li><a href="http://zsnes-docs.sourceforge.net/nsrt" title="NSRT Guide">NSRT Guide</a></li>
    <li><a href="http://www.zsnes.com" title="ZSNES Home Page on the Web">ZSNES.com</a></li>
  </ul>
</div>

</div>

<div id="content_column">

<div id="content">
  <h2><acronym title="Frequently Asked Questions">FAQ</acronym></h2>

  <div class="section">
    <p>The FAQ page was first included in <a href="history.htm#v0390" title="View the history for v0.390 of ZSNES">version 0.390</a> of ZSNES, released on April 11, 1998.</p>
  </div>

  <div class="section">
    <h3>Question Index</h3>

    <div class="section">
      <h4><a href="#universal">UNIVERSAL QUESTIONS</a></h4>

      <ul>
        <li><a href="#universal_general">General</a>
          <ul>
            <li><a href="#universal_general_roms">Where do I download games / ROMs?</a></li>
            <li><a href="#universal_general_savedir">What is the "save directory"?</a></li>
            <li><a href="#universal_general_gamesaves">Why are my games not saving?</a></li>
            <li><a href="#universal_general_savestates3">Are the ZSNES data files compatible among the various ZSNES ports (Win/DOS/SDL)?</a></li>
            <li><a href="#universal_general_toaster">Is there Toaster Support?</a></li>
          </ul>
        </li>
        <li><a href="#universal_games">Games</a>
          <ul>
            <li><a href="#universal_games_ips">Why don't my games work after applying IPS patches to them?</a></li>
            <li><a href="#universal_games_idiot">Does ZSNES support Snes9x, GoodSNES, and NSRT ROMs? Or only ZSNES ones?</a></li>
          </ul>
        </li>
        <li><a href="#universal_video">Video</a>
          <ul>
            <li><a href="#universal_video_scanlines">Why do my scanlines look awful?</a></li>
            <li><a href="#universal_video_filters">Why am I missing some video filter options?</a></li>
          </ul>
        </li>
        <li><a href="#universal_sound">Sound</a>
          <ul>
            <li><a href="#universal_sound_static">Why does ZSNES produce a lot of static?</a></li>
            <li><a href="#universal_sound_missing">Why am I missing some sound options?</a></li>
          </ul>
        </li>
        <li><a href="#universal_input">Input</a>
          <ul>
            <li><a href="#universal_input_threekeys">Why can't I press more than 2 keys at a time?</a></li>
            <li><a href="#universal_input_joystick">Why is one direction of the d-pad always held down, even when I'm not pressing any keys?</a></li>
            <li><a href="#universal_input_twoconfigs">How do I use both my keyboard and joystick for the 1st or 2nd player?</a></li>
            <li><a href="#universal_input_cantset">Why can't I set the keys/buttons for Player 2?</a></li>
            <li><a href="#universal_input_calibrate">Why won't ZSNES accept input when I'm configuring the keys for my gamepad?</a></li>
            <li><a href="#universal_input_multitap">This game tells me that it is not compatible with the MultiTap (or an external device attached). What should I do?</a></li>
          </ul>
        </li>
        <li><a href="#universal_speed">Speed</a>
          <ul>
            <li><a href="#universal_speed_slow">Why is ZSNES slow?</a></li>
            <li><a href="#universal_speed_cpu">Why does the game slow down even though I'm using auto frame rate and the FPS is pretty high?</a></li>
            <li><a href="#universal_speed_toofast">My games are running too quickly! How do I slow them down?</a></li>
          </ul>
        </li>
        <li><a href="#universal_miscellaneous">Miscellaneous</a>
          <ul>
            <li><a href="#universal_miscellaneous_compressed">Does ZSNES support loading ROMs which are compressed?</a></li>
            <li><a href="#universal_miscellaneous_othercompressed">Why doesn't ZSNES support the 7z, RAR, or ZIP deflate64 compression formats?</a></li>
            <li><a href="#universal_miscellaneous_multirom">Does ZSNES support multiple ROMs in a single ZIP or JMA file?</a></li>
            <li><a href="#universal_miscellaneous_ports">Can you make a Mac/PocketPC/PS2/whatever port?</a></li>
          </ul>
        </li>
      </ul>
    </div>

    <div class="section">
      <h4><a href="#win">WIN-SPECIFIC QUESTIONS</a></h4>

      <ul>
        <li><a href="#win_general">General</a>
          <ul>
            <li><a href="#win_general_directx">Why does ZSNESw crash and give me an error with dinput.dll?</a></li>
            <li><a href="#win_general_rename">I just switched from the DOS port to the Windows port of ZSNES; why don't my savestates work? Are they incompatible?</a></li>
          </ul>
        </li>
        <li><a href="#win_video">Video</a>
          <ul>
            <li><a href="#win_video_colors">Why am I seeing double, with strange colors?</a></li>
            <li><a href="#win_video_choppy">Why is the video choppy with an FPS of 60 and VSync on?</a></li>
          </ul>
        </li>
        <li><a href="#win_sound">Sound</a>
          <ul>
            <li><a href="#win_sound_none">How come I don't get any sound?</a></li>
          </ul>
        </li>
      </ul>
    </div>

    <div class="section">
      <h4><a href="#sdl">SDL-SPECIFIC QUESTIONS</a></h4>

      <ul>
        <li><a href="#sdl_general">General</a>
          <ul>
            <li><a href="#sdl_general_x">Can I run ZSNES without X?</a></li>
            <li><a href="#sdl_general_distro">I got ZSNES from my distro and I found a bug. To whom should I report it?</a></li>
            <li><a href="#sdl_general_svn">Should I use SVN?</a></li>
            <li><a href="#sdl_general_zlib">I'm getting an error about gzdirect() missing when I try to compile ZSNES. What's up?</a></li>
          </ul>
        </li>
      </ul>
    </div>

    <div class="section">
      <h4><a href="#dos">DOS-SPECIFIC QUESTIONS</a></h4>

      <ul>
        <li><a href="#dos_video">Video</a>
          <ul>
            <li><a href="#dos_video_transparencies">How do you enable transparencies?</a></li>
            <li><a href="#dos_video_fog">Why is there a layer of fog blocking my view?</a></li>
            <li><a href="#dos_video_vesa">Why am I getting error messages regarding VESA 2 drivers?</a></li>
          </ul>
        </li>
        <li><a href="#dos_sound">Sound</a>
          <ul>
            <li><a href="#dos_sound_none">Why is there no sound?</a></li>
            <li><a href="#dos_sound_othercards">Are there any plans to improve detection for non-SoundBlaster cards (or supporting non-SB cards)?</a></li>
            <li><a href="#dos_sound_sblive">I get a sound initialization error using my SB Live! (or any other PCI card). How do I fix it?</a></li>
          </ul>
        </li>
        <li><a href="#dos_input">Input</a>
          <ul>
            <li><a href="#dos_input_sidewinder">Why doesn't my Sidewinder pad work?</a></li>
            <li><a href="#dos_input_moresidewinder">How do I get my daisy-chained Sidewinder to work?</a></li>
            <li><a href="#dos_input_gamepadpro">Why doesn't my Gamepad Pro work?</a></li>
            <li><a href="#dos_input_joystick">Why doesn't my joystick work anymore?</a></li>
            <li><a href="#dos_input_pressed">Why does JB5/JB6 keep getting pressed whenever I try to change a key?</a></li>
          </ul>
        </li>
        <li><a href="#dos_crashes">Freezing/Crashing Issues</a>
          <ul>
            <li><a href="#dos_crashes_freeze">Why does ZSNES freeze when I run it under pure DOS?</a></li>
            <li><a href="#dos_crashes_rom">Why does ZSNES crash when I load a ROM?</a></li>
            <li><a href="#dos_crashes_gui">Why does ZSNES freeze when I try to enter the GUI?</a></li>
            <li><a href="#dos_crashes_memory">ZSNES gives me an "out of memory" error and I only have 16MB of RAM. How do I fix this?</a></li>
          </ul>
        </li>
        <li><a href="#dos_misc">Miscellaneous</a>
          <ul>
            <li><a href="#dos_misc_stdint">I'm using DJGPP 2.03 and I get an error about missing stdint.h. What's wrong?</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>

  <div class="section" id="universal">
    <h3>UNIVERSAL QUESTIONS</h3>

    <div class="section" id="universal_general">
      <h4>General</h4>

      <dl>
        <dt id="universal_general_roms">Q: Where do I download games / ROMs?</dt>
        <dd>A: Due to the <a href="http://en.wikipedia.org/wiki/Rom_images#Legal_status_of_ROMs" title="Legal Status of ROMs section of the ROM Image article at Wikipedia">questionable legality</a> of ROM images of commercial games, the ZSNES Team <em>cannot</em> and <em>will not</em> provide you with any games / ROMs.  We must do this in order to keep ZSNES, as an emulator, legal.  Please see the <a href="readme.htm#disclaimer">disclaimer</a>.</dd>

        <dt id="universal_general_savedir">Q: What is the "save directory"?</dt>
        <dd>A: Please read more about the types of files ZSNES generates and where they are created <a href="readme.htm#files" title="Files that ZSNES uses">here</a>.
          <p>By default, in the Win and DOS ports of ZSNES, these files will go into their corresponding ROM directory (e.g. If your <em class="game">Chrono Trigger</em> ROM is in <code class="file">C:\SNES Games\RPG</code>, its files will go into that folder; if your <em class="game">Harvest Moon</em> ROM is in <code class="file">C:\SNES Games\Simulation</code>, its files will go into that folder). In the SDL port of ZSNES, however, saves will go into <code class="file">~/.zsnes</code> by default. ZSNES SDL under Mac OS X will place them in <code class="file">~/Library/Application Support/ZSNES</code> instead.</p>
          <p>If you dislike the default settings, you can configure a single, universal save path by either going to the <a href="gui.htm#config_paths" title="Description of the Setup Paths dialog">Config -> Paths</a> menu in the <a href="gui.htm" title="Description of the GUI">GUI</a> or by editing <a href="advanced.htm#config_files" title="Description of the ZSNES configuration files">the ZSNES configuration file</a>.</p>
        </dd>

        <dt id="universal_general_gamesaves">Q: Why are my games not saving?</dt>
        <dd>A: If your ROM images are stored on a CD-ROM, you need to define a save directory that points to your hard drive. In order to do this, either go to <a href="gui.htm#config_paths" title="Description of the Setup Paths dialog">Config-->Paths</a> and enter a directory, or edit <a href="advanced.htm#config_files" title="Description of the ZSNES configuration files">the ZSNES configuration file</a> by typing in a directory after "SaveDirectory=". Make sure that this directory is not marked read-only.
          <p>If this still does not solve your problem, enable SRAM Check + Save under the <a href="gui.htm#config_saves" title="Description of the Save Options dialog">Config-->Saves menu</a>.</p>
        </dd>

        <dt id="universal_general_savestates3">Q: Are the ZSNES data files compatible among the various ZSNES ports (Win/DOS/SDL)?</dt>
        <dd>A: Yes. Unlike certain PC applications and games, ZSNES's various save <a href="readme.htm#files" title="Description of the files used by ZSNES">files</a> and formats are completely port-independent; you can share any of your files with any user using any port of ZSNES (although some things may be version-dependent). Note, however, that ZSNES's <a href="advanced.htm#config_files_zsnes" title="Description of the ZSNES Configuration File">configuration file</a> contains port-specific options which don't exist in other ports, so while they can be transfered between ports, some things won't work as expected. Note that when transfering various files, make sure they're named properly and in the proper location.
        </dd>

        <dt id="universal_general_toaster">Q: Is there Toaster Support?</dt>
        <dd>A: While we'd love for ZSNES to lace our shoes, feed us, breathe for us, and amass wealth for us, we can't add every crazy feature that comes up. Even though ZSNES does have many, many features that are not necessarily SNES related, they normally don't go beyond features that you'd expect from an advanced gaming system.
          <p>Regarding toaster support itself, rumor has it ZSNES does bread toasting if you happen to be using it after midnight while paying your respects to the master of all controls and considering monetary options.</p>
        </dd>
      </dl>
    </div>

    <div class="section" id="universal_games">
      <h4>Games</h4>

      <dl>
        <dt id="universal_games_ips">Q: Why don't my games work after applying IPS patches to them?</dt>
        <dd>A: If your patched game crashes early or just displays a black screen, you probably need to either add or remove the 512 byte offset from the patch. Use the program IPSEDIT to do this, which is bundled along with <a href="support.htm#utilities_nsrt" title="Nach's SNES ROM Tools">NSRT</a>.
          <p>Alternatively, you could either add or remove a header from your ROM before patching. Again, NSRT is capable of doing this.</p>
        </dd>

        <dt id="universal_games_idiot">Q: Does ZSNES support Snes9x, GoodSNES, and NSRT ROMs? Or only ZSNES ones?</dt>
        <dd>A: ZSNES, Snes9x, GoodSNES, and NSRT <a href="games.htm#roms" title="Description of ROMs">ROMs</a> do not exist. All these programs work with SNES ROMs. As ZSNES is an SNES emulator, it will work with all SNES ROMs (except where ZSNES has a bug or the ROM is in an unsupported interleave format).
        </dd>
      </dl>
    </div>

    <div class="section" id="universal_video">
      <h4>Video</h4>

      <dl>
        <dt id="universal_video_scanlines">Q: Why do my scanlines look awful?</dt>
        <dd>A: <a href="gui.htm#config_video_scanlines" title="Description of the Scanline video options">Scanlines</a> can be negatively affected by the method of vertical scaling that your video card uses, depending on the video mode you have selected for ZSNES.  This can sometimes result in scanlines that are not of uniform darkness.  The effect of this video scaling is most noticeable with Full scanlines, with 50% and 25% scanlines being less noticeable.  To display the scanlines effect properly, you should use resolutions based on a multiple of 256x224 in windowed modes (e.g. 512x448) and 320x240 for fullscreen modes (e.g. 640x480).</dd>

        <dt id="universal_video_filters">Q: Why am I missing some video filter options?</dt>
        <dd>A: Please make sure you have <a href="gui.htm#config_options_mmx" title="Description of the MMX Support option">MMX Support</a> enabled in the <a href="gui.htm#config_options" title="Description of the Options dialog">Options dialog</a>.  Refer to the <a href="gui.htm#config_video" title="Description of the Video Config dialog">Video Config</a> description in <a href="gui.htm" title="Description of the GUI">GUI.htm</a> to see what video options require MMX support.</dd>
      </dl>
    </div>

    <div class="section" id="universal_sound">
      <h4>Sound</h4>

      <dl>
        <dt id="universal_sound_static">Q: Why does ZSNES produce a lot of static?</dt>
        <dd>A: There could be many reasons why you are hearing static.  If you are using the Windows port and you have an ISA sound card, this could be your problem.  If you are using the DOS port, and you have a PCI sound card, this could also be your problem.  If your sound card is using SoundBlaster emulation, you probably need to use 8-bit sound, but this can make sound output worse.  You can also try doing the following things to improve your sound:  Reduce your <a href="gui.htm#config_sound_samplerate" title="Description of the Sampling Rate selector">sampling rate</a> or disable <a href="gui.htm#config_sound_lowpass" title="Description of the LowPass filter options">lowpass filtering</a> and <a href="gui.htm#config_sound_stereo" title="Description of the Stereo Sound option">stereo sound</a>; Win port users can also enable the <a href="gui.htm#config_sound_primarybuffer" title="Description of the Use Primary Buffer option">Primary Sound Buffer</a>.</dd>

        <dt id="universal_sound_missing">Q: Why am I missing some sound options?</dt>
        <dd>A: Please make sure you have <a href="gui.htm#config_options_mmx" title="Description of the MMX Support option">MMX Support</a> enabled in the <a href="gui.htm#config_options" title="Description of the Options dialog">Options dialog</a>.  Refer to the <a href="gui.htm#config_sound" title="Description of the Sound Config dialog">Sound Config</a> description in <a href="gui.htm" title="Description of the GUI">GUI.htm</a> to see what sound options require MMX support.</dd>
      </dl>
    </div>

    <div class="section" id="universal_input">
      <h4>Input</h4>

      <dl>
        <dt id="universal_input_threekeys">Q: Why can't I press more than two keys at a time?</dt>
        <dd>A: Many <acronym title="Personal Computer">PC</acronym> keyboards limit the number of key signals that can be transmitted simultaneously.  For example, certain combinations of three or more alphanumeric keys may not work.  Conversely, there may be some combinations of three or more keys that <em>do</em> work.  You would just have to test by trial-and-error to find out, since these combinations can vary between keyboards.  Joysticks and gamepads generally don't have this limitation.
          <p>If you must use a keyboard, you can set multiple <a href="gui.htm#config_input" title="Description of the Input Device dialog">game keys</a> to a single keyboard key.  Alternatively, you could set some keys to the right and left Ctrl and Shift keys, since most keyboards do not restrict signals from these keys.</p>
        </dd>

        <dt id="universal_input_joystick">Q: Why is one direction of the d-pad always held down, even when I'm not pressing any keys?</dt>
        <dd>A: ZSNES auto-calibrates any connected gamepads/joysticks when it first starts.  Thus, if one of the buttons or directions is accidentally held down while ZSNES is starting, ZSNES will think this is "normal" or "zero" input, even when you let go of the button.  To fix the problem, simply close ZSNES, make sure no buttons are pressed and all axis are centered on your gamepad/joystick, and restart ZSNES.  It will then auto-calibrate to the correct "zero" settings.</dd>

        <dt id="universal_input_twoconfigs">Q: How do I use both my keyboard and joystick for the 1st or 2nd player?</dt>
        <dd>A: First, configure the Player 1 pad (<a href="gui.htm#config_input" title="Description of the Input Device dialog">Config-->Input</a>--> #1) for your normal set-up (for example, a keyboard).  Next, configure the Player 3 pad (Config-->Input--> #3) to use your alternative set-up (for example, a joystick or gamepad).  When you want to switch between your regular and alternative set-up, go to the <a href="gui.htm#config_options" title="Description of the Options dialog">Config-->Options</a> menu and check <strong class="gui">Use Pl3/4 as Pl1/2</strong>. Now the Player 3 controls act as the Player 1 pad, and Player 4's controls act as the Player 2 pad. To return to the normal controls, simply uncheck this option. Follow the same procedure to create a similar set-up for Players 2 and 4.  <strong>Note:</strong> Enabling the option <strong class="gui">Use Pl3/4 as Pl1/2</strong> disables MultiTap emulation.</dd>

        <dt id="universal_input_cantset">Q: Why can't I set the keys/buttons for Player 2?</dt>
        <dd>A: You need to set the Current Device before ZSNES will allow you to set the individual keys for Player 2 (or Players 3, 4, or 5). If NONE is shown after CURRENT:, the input cannot be changed (or used, for that matter). See the <a href="gui.htm#config_input" title="Description of the Input Device dialog">Input</a> section of the <a href="gui.htm" title="Description of the GUI">GUI</a> page for further instructions.</dd>

        <dt id="universal_input_calibrate">Q: Why won't ZSNES accept input when I'm configuring the keys for my gamepad?</dt>
        <dd>A: Exit ZSNES and calibrate your input device. Then restart ZSNES and see if it works.</dd>

        <dt id="universal_input_multitap">Q: This game tells me that it is not compatible with the MultiTap (or an external device attached). What should I do?</dt>
        <dd>A: Set the input devices of player 3, 4, and 5 to "None". You may also need to go to the <a href="gui.htm#config_options" title="Description of the Options dialog">Config-->Options</a> and check <strong class="gui">Use Pl3/4 as Pl1/2</strong>. Additionally, you could add an <a title="Nach's SNES ROM Tools" href="support.htm#utilities_nsrt">NSRT</a> header to your ROM if you desire.</dd>
      </dl>
    </div>

    <div class="section" id="universal_speed">
      <h4>Speed</h4>

      <dl>
        <dt id="universal_speed_slow">Q: Why is ZSNES slow?</dt>
        <dd>A: First and foremost, does your computer meet the minimum <a href="readme.htm#system_requirements" title="Minimum system requirements to run ZSNES">system requirements</a> to run ZSNES?  If not, there is little you can do to improve performance.  That being said, you can still try a number of things.
          <ul>
            <li>Make sure that any major program(s) is/are closed (such as Winamp).</li>
            <li>Try the default settings of ZSNES before you do anything else.  You can reset ZSNES to the default settings by deleting all three of its <a href="advanced.htm#config_files" title="Description of the ZSNES configuration files">configuration files</a>.</li>
            <li>Ensure that MMX Support is enabled in the <a href="gui.htm#config_options" title="Description of the Options dialog">Options</a> dialog; this mode should provide a noticeable speed increase for computers that can use it.</li>
            <li>Certain system configurations and video cards work better with certain video modes.  Try switching between different <a href="gui.htm#config_video_mode" title="Description of the Video Mode selection">video modes</a> until you find one that has good/better performance.  Things to remember when doing this are that lower resolutions are faster than higher resolutions, full screen modes are faster than windowed modes, and 'R' modes are faster than 'S' modes (because no scaling is necessary).</li>
            <li>Make sure you are using <a href="gui.htm#config_speed_autoframerate" title="Description of the Auto Frame Rate option">Auto Frame Skipping</a>.  If you already are, try increasing the <a href="gui.htm#config_speed_frameskip" title="Description of the Max Frame Skip option">Max Frame Skip</a>.</li>
            <li>Do not use <a href="gui.htm#config_video_vsync" title="Description of the VSync option">VSync</a>; if you must use VSync, try also enabling <a href="gui.htm#config_video_triple" title="Description of the Triple Buffering option">Triple Buffering</a>.</li>
            <li>Disable all <a href="gui.htm#config_video_filters" title="Description of the available Video Filters">video filters</a>.</li>
            <li>Compile ZSNES yourself with optimizations for your CPU's architecture.</li>
            <li>If you still need more speed, <a href="gui.htm#config_sound_enable" title="Description of the Enable Sound option">disable sound</a>. If that's not enough, <a href="gui.htm#config_sound_spc" title="Description of the Disable SPC Emulation option">disable SPC emulation</a> (you must restart ZSNES for this option to take effect).  Some games will not work without SPC emulation.</li>
          </ul>
          <p>If you have an old computer, such as one with a 486/100 processor, you will probably be better off using older DOS versions of ZSNES, as the minimum <a href="readme.htm#system_requirements" title="Minimum system requirements to run ZSNES">system requirements</a> have increased slightly with subsequent releases. To achieve greater speed, you may want to avoid using VESA video modes (although this will disable transparencies). Experiment with the different video modes and try the recommendations above to see which configuration provides the best speed for you.</p>
        </dd>

        <dt id="universal_speed_cpu">Q: Why does the game slow down even though I'm using auto frame rate and the FPS is pretty high?</dt>
        <dd>A: If you have ever played a real SNES, you may notice that some games slow down even on it.  To the extent that ZSNES accurately emulates an SNES, a game will slow down in ZSNES in the same places it would slown down on a real SNES.</dd>

        <dt id="universal_speed_toofast">Q: My games are running too quickly! How do I slow them down?</dt>
        <dd>A: You may have disabled <a href="gui.htm#config_speed_autoframerate" title="Description of the Auto Frame Rate option">auto frame skipping</a>. Re-enable it in the <a href="gui.htm#config_speed" title="Description of the Speed Options dialog">Config-->Speed</a> menu.
          <p>If you don't want to use auto frame skipping, and you want to play in windowed mode, you might want to set your monitor's refresh rate to 60hz and enable <a href="gui.htm#config_video_vsync" title="Description of the VSync option">VSync</a> in ZSNES.</p>
          <p>If you want to use fullscreen mode without using auto frame skipping, you can enable the KitchenSync by using either the -ks (for NTSC/PAL) or -kp (for PAL) <a href="advanced.htm#command_line_windows" title="List of command-line switches for ZSNES Win port">command-line parameter</a> (Windows port only). Also be sure to enable <a href="gui.htm#config_video_triple" title="Description of the Triple Buffering option">triple buffering</a>.</p>
        </dd>
      </dl>
    </div>

    <div class="section" id="universal_miscellaneous">
      <h4>Miscellaneous</h4>

      <dl>
        <dt id="universal_miscellaneous_compressed">Q: Does ZSNES support loading ROMs which are compressed?</dt>
        <dd>A: Yes, but it depends on what compression format is used. ZSNES can currently load ROMs that are compressed in the ZIP (method 0 - store and method 8 - deflate), GZip, and JMA compression formats.
          <p>Many tools are available to create ZIP files. If you want a fast, commandline based ZIP program that is available on many platforms, get <a href="http://www.info-zip.org/pub/infozip/" title="Info-ZIP Home Page">Info-ZIP</a>. Info-ZIP also has a Windows front end called WiZ available if you prefer a GUI.</p>
          <p>For creating GZip files, there are not too many choices. A fast, commandline based compressor for the GZip format, available for several platforms, may be downloaded at the <a href="http://www.gzip.org" title="The gzip home page">GZip site</a>. If you use Windows, there is a program with a GUI called <a href="http://www.7-zip.org" title="7-Zip Home Page">7-Zip</a> that has support for ZIP, GZip, and others. ZIP and GZip files created by 7-Zip are smaller than those created with other programs, but 7-Zip takes a longer time creating them. For users of Unix based operating systems who would like a GUI front end for both ZIP and GZip, get <a href="http://docs.kde.org/en/3.2/kdeutils/ark/" title="The Ark Handbook">Ark</a>, which is part of the KDE project.</p>
          <p>To create JMA files, a format invented by Nach and the rest of the NSRT team which offers the best compression ratio for SNES ROMs, you must use <a href="support.htm#utilities_nsrt" title="Nach's SNES ROM Tools">NSRT</a>. NSRT is also capable of compressing SNES ROMs into ZIP and GZip formats.</p>
        </dd>

        <dt id="universal_miscellaneous_othercompressed">Q: Why doesn't ZSNES support the 7z, RAR, or ZIP deflate64 compression formats?</dt>
        <dd>A: ZSNES only supports formats which have an open-source, portable, and easy-to-use library. The 7z and RAR formats do not yet have libraries that fill those criteria.  If you want the best compression ratio for your SNES ROMs, you should use JMA.  Currently, the only publicly available program that can compress and decompress with JMA is <a href="support.htm#utilities_nsrt" title="Nach's SNES ROM Tools">NSRT</a>.  ZIP deflate64 lacks a decompression library which ZSNES can use, but rumor has it that Nach is working on one.</dd>

        <dt id="universal_miscellaneous_multirom">Q: Does ZSNES support multiple ROMs in a single ZIP or JMA file?</dt>
        <dd>A: ZSNES currently does not support more than one ROM in a ZIP or JMA file, although such support will probably be implemented in the future.</dd>

        <dt id="universal_miscellaneous_ports">Q: Can you make a Mac/PocketPC/PS2/PSP/whatever port?</dt>
        <dd>A: Since ZSNES is written in assembly, ports to any systems that are not 100% x86 compatible are impossible. Try <a href="http://www.snes9x.com" title="Snes9X Home Page">Snes9x</a> for portability.
          <p><a href="http://www.apple.com/" title="Apple home page">Apple Computer, Inc.</a> recently <a href="http://www.apple.com/pr/library/2005/jun/06intel.html" title="Apple press release">switched</a> their the Macintosh computers to use Intel processors, and as such ZSNES has already been modified to run on said computers. Just compile the SDL port with an up-to-date NASM and zlib and everything normally required.</p>
          <p>Another third party developer recently ported ZSNES to the Microsoft Xbox as well, and released it under the name "ZsneXbox". Unfortunately, we can not provide a download link as this port is being illegally distributed as a compiled XBE file. As a result, any link or support requests regarding this port will be promptly ignored.</p>
        </dd>
      </dl>
    </div>
  </div>

  <div class="section" id="win">
    <h3>WIN-SPECIFIC QUESTIONS</h3>

    <div class="section" id="win_general">
      <h4>General</h4>

      <dl>
        <dt id="win_general_directx">Q: Why does ZSNESw crash and give me an error with dinput.dll?</dt>
        <dd>A: If you get this error, download and install the latest version of <a href="support.htm#utilities_directx" title="Description of the DirecX API in the Readme">DirectX</a>.
          <p>You might also try running the DirectX Diagnostic Tool.  You can do this by clicking the Start button, then selecting "Run...".  Type "dxdiag" after "Open:", and click "OK".  There are lots of options you can play with, so please read everything before you start messing around.  Specifically, go to the "Display" tab, and under the "DirectX Features" section, click the "Disable" button beside each feature.  After they are all disabled, re-enable them.  Exit dxdiag, and try ZSNES again.</p>
          <p>If none of that worked, try re-installing DirectX.</p>
        </dd>

        <dt id="win_general_rename">Q: I just switched from the DOS port to the Windows port of ZSNES; why don't my savestates work? Are they incompatible?</dt>
        <dd>A: The saves and savestates will work just as well with any port of ZSNES. You simply need to rename all files that have .srm and .zst (and .zs1, .zs2, etc.) extensions to match the filenames of your ROMs (or the jma/zip archives that contain them).
          <p>For example, if you have "Super Mario World.zip" and "Super Mario RPG.zip", both games will have saves that are labeled "SUPERM~1.SRM", "SUPERM~1.ZS2", etc., and they will be differentiated only by the number after the "~" in the filename.</p>
          <p>If you need to find out which "~" number a game uses, open a DOS prompt (a.k.a. Command Prompt), change to the ROM directory, and enter "dir /on /p" (On some newer systems like Win2k you need to add the "/x" switch for the DOS filenames to be displayed). Unfortunately, this method may not be accurate if you have moved your ROMs to a different folder or another computer; you may need to guess and hope for the best, trying to swap filenames a few different ways between the saves before it works for all your games. If it comes down to guessing, we recommend that you backup your save files before renaming them.</p>
          <p>Don't forget to put the files into your <a href="#universal_general_savedir" title="FAQ Answer about the Save directory">Save directory</a>.</p>
        </dd>
      </dl>
    </div>

    <div class="section" id="win_video">
      <h4>Video</h4>

      <dl>
        <dt id="win_video_colors">Q: Why am I seeing double, with strange colors?</dt>
        <dd>A: Any change of resolution within ZSNES should correct the problem. Fullscreen modes are recommended because they are faster than windowed modes.
          <p>If you still experience problems, see if these suggestions help (each should be done/tried separately):</p>
          <ul>
            <li>The issue can be completely resolved with up-to-date video card drivers. Keeping your device drivers fully updated will provide other benefits unrelated to ZSNES.</li>
            <li>Set the resolution for ZSNES to the same one used by the Windows desktop.</li>
            <li>Try enabling 16-bit color depth in Windows.</li>
          </ul>
        </dd>

        <dt id="win_video_choppy">Q: Why is the video choppy with an FPS of 60 and VSync on?</dt>
        <dd>A: If you have VSync on, your monitor needs to be set to a refresh rate that is a multiple of the framerate of the game.  NTSC games natively run at ~60 FPS.  PAL games natively run at 50 FPS.  Thus your monitor would need to be either 60Hz or 120Hz for NTSC games, or 50Hz/100Hz for PAL games.  If you run ZSNES with the <a href="advanced.htm#command_line_windows" title="List of command-line switches for the Windows port">-6 switch</a>, with a sub-argument of '60', ZSNES will try to switch your monitor to 60Hz refresh rate.  You can use the <a href="advanced.htm#command_line_windows" title="List of command-line switches for the Windows port">-ks switch</a> to make ZSNES try to switch your monitor to 120Hz refresh rate.  These two switches only work in fullscreen modes and are for the Windows port only.
          <p>You can also try enabling Triple Buffering (using the <a href="advanced.htm#command_line_universal" title="List of command-line switches for all ZSNES ports">-3 switch</a> or the <a href="gui.htm#config_video_triple" title="Description of the Triple Buffering option">GUI option</a>), however this currently only works in Full Screen modes.  One last thing you can try is to turn off <a href="gui.htm#config_speed_autoframerate" title="Description of the Auto Frame Rate feature">auto frame-skipping</a>, and set <a href="gui.htm#config_spead_manframerate" title="Description of the Frame Rate feature">manual frame rate</a> to "0".</p>
        </dd>
      </dl>
    </div>

    <div class="section" id="win_sound">
      <h4>Sound</h4>

      <dl>
        <dt id="win_sound_none">Q: How come I don't get any sound?</dt>
        <dd>A: Either you accidentally <a href="gui.htm#config_sound_enable" title="Description of the Enable Sound option">disabled sound</a>, you don't have a sound card, the sound drivers aren't properly installed in your system, or your sound card is not compatible with DirectSound (part of Microsoft's <a href="support.htm#utilities_directx" title="Description of the DirecX API in the Support page">DirectX</a> <acronym title="Application Programming Interface">API</acronym>).  Also make sure that <a href="gui.htm#config_sound_spc" title="Description of the Disable SPC Emulation option">Disable SPC Emulation</a> is NOT checked.
          <p>Try (re-)installing the latest version of DirectX, and make sure you have the latest drivers for your sound card (WHQL Certified, if possible).</p>
          <p>Please also note that ISA sound cards tend not to work with Windows, while they do with DOS.</p></dd>
      </dl>
    </div>
  </div>

  <div class="section" id="sdl">
    <h3>SDL-SPECIFIC QUESTIONS</h3>

    <div class="section" id="sdl_general">
      <h4>General</h4>

      <dl>
        <dt id="sdl_general_x">Q: Can I run ZSNES without X?</dt>
        <dd>A: Yes, but you'll need to have SDL compiled to use SVGAlib.</dd>

        <dt id="sdl_general_distro">Q: I got ZSNES from my distro and I found a bug. To whom should I report it?</dt>
        <dd>A: Compile ZSNES yourself and see if the bug still exists. If it does, please tell us, otherwise be happy that ZSNES works now, and give your distro a heads-up if you feel motivated enough.</dd>

        <dt id="sdl_general_svn">Q: Should I use <acronym title="Subversion">SVN</acronym>?</dt>
        <dd>A: SVN is the best way to get the most up-to-date ZSNES source. It is best to double-check with SVN if you have a problem, since we might have already fixed it.  If you find a new problem in SVN, please tell us, but be warned that we won't take it too seriously if it involves something that's currently being worked on.
          <p>To check out and install ZSNES from SVN, refer to <a href="http://board.zsnes.com/phpBB2/viewtopic.php?t=7371" title="ZSNES Board thread about using SVN">this thread</a> on the ZSNES board.</p>
        </dd>

        <dt id="sdl_general_zlib">Q: I'm getting an error about gzdirect() missing when I try to compile ZSNES. What's up?</dt>
        <dd>A: Make sure you're using zlib 1.2.3 or higher. Some distributions say you have zlib 1.2.3 but in reality give you an older version. If your distribution is being problematic, compile zlib yourself. Grab the latest version of zlib at the <a href="http://www.zlib.net" title="zlib Compression Library">official website</a>.</dd>
      </dl>
    </div>
  </div>

  <div class="section" id="dos">
  <h3>DOS-SPECIFIC QUESTIONS</h3>

    <div class="section" id="dos_video">
      <h4>Video</h4>

      <dl>
        <dt id="dos_video_transparencies">Q: How do you enable transparencies?</dt>
        <dd>A: First, try setting the video mode to a 16-bit color mode in the <a href="gui.htm#config_video" title="Description of the Video Config dialog">GUI</a>.  (If 320x240x16b doesn't work, then try 640x480x16b).  If it gives you an error that says that your video card isn't compatible with VESA 2.0, you might want to get <a href="support.htm#utilities_scitech" title="Description of the Scitech Display Doctor utility">Scitech Display Doctor</a>. It provides certain cards with VESA 2.0 support. Running with transparencies on is definitely slower because of the extra math equations, memory, and video space involved.</dd>

        <dt id="dos_video_fog">Q: Why is there a layer of fog blocking my view?</dt>
        <dd>A: You need to either enable transparencies (see above), or you can disable certain backgrounds by pressing <a href="readme.htm#default_keys_emulator" title="List of default keys for using ZSNES">the 1, 2, 3, or 4 keys</a>. If you get lost while pressing those keys, <a href="readme.htm#default_keys_emulator" title="List of default keys for using ZSNES">press 6 to re-enable all of the backgrounds</a>.</dd>

        <dt id="dos_video_vesa">Q: Why am I getting error messages regarding VESA 2 drivers?</dt>
        <dd>A: Here is a list of the various error codes that you may be coming across, along with descriptions of what they mean:
          <ul>
            <li>VBE not detected - ZSNES failed to detect any VBE interrupts (Your video card doesn't support VESA).</li>
            <li>VESA not detected - ZSNES failed to detect any VESA extensions (Your video card doesn't support VESA).</li>
            <li>VESA 2.0 or greater required - Your video card supports VESA, but it has an older version. You may want to use <a href="support.htm#utilities_scitech" title="Description of the Scitech Display Doctor utility">Scitech Display Doctor</a> to upgrade your VESA driver.</li>
            <li>VESA 2 mode does not work on your video card/driver - Meaning that the resolution you requested does not exist in the supported resolutions of your video card. Choose a different resolution or upgrade with <a href="support.htm#utilities_scitech" title="Description of the Scitech Display Doctor utility">SDD</a>, which can sometimes help increase the number of resolutions supported.</li>
            <li>Unable to initialize video mode - A VESA 2.0 driver is found, but the video mode failed to start. There could possibly be an error on the video card setting, or it may be a defective piece of hardware.</li>
            <li>Linear frame buffer not detected - Meaning that your video card does not support linear frame buffering, which is required for the ZSNES VESA 2 routines.</li>
          </ul>
        </dd>
      </dl>
    </div>

    <div class="section" id="dos_sound">
      <h4>Sound</h4>

      <dl>
        <dt id="dos_sound_none">Q: Why is there no sound?</dt>
        <dd>A: There could be several situations:
          <ul>
            <li>You haven't enabled sound. You can enable it through the <a href="gui.htm#config_sound_enable" title="Description of the Enable Sound option">GUI</a> or through <a href="advanced.htm#config_files" title="Description of the ZSNES configuration files">zsnes.cfg</a>.  Also make sure that <a href="gui.htm#config_sound_spc" title="Description of the Disable SPC Emulation option">Disable SPC Emulation</a> is NOT checked.</li>
            <li>You need to make sure that the SET BLASTER variable is set properly. To do this, type SET in DOS and look for a string starting with "BLASTER=". If such a string exists, then this is not your problem.</li>
            <li>You don't have a SB2.0 compatible sound card. If this is your case, there is nothing you can do at the moment. ZSNES uses auto-initialization mode for sound which requires SB2.0+.</li>
            <li>Your SB IRQ conflicts with another device. If this is the case, you might want to check your sound card settings through Control Panel -> System.</li>
            <li>ZSNES doesn't like your sound card.</li>
            <li>You can try using <a href="http://sourceforge.net/projects/vdmsound/" title="VDMSound project at SourceForge.net">VDMSound</a>.</li>
          </ul>
        </dd>

        <dt id="dos_sound_othercards">Q:  Are there any plans to improve detection for non-SoundBlaster cards (or supporting non-SB cards)?</dt>
        <dd>A: There is little effort put into major changes to the DOS code, since so few people use that port these days.  However, we will gladly accept anyone's help in improving the DOS sound code.</dd>

        <dt id="dos_sound_sblive">Q: I get a sound initialization error using my SB Live! (or any other PCI card). How do I fix it?</dt>
        <dd>A: Here is a solution: (Thanks CyberGodz for the post on the forums!)
          <p>SB Live! uses what is known as a NMI, or Non Maskable Interrupt, to emulate SB 16 sound. Don't ask us exactly what it does (it's a type of IRQ) but that is pretty much all it is good for.</p>
          <p>The problem is that many sound cards either lack NMI support or don't have it enabled (No NMI = No DOS support).</p>
          <p>To try and solve this problem, do the following:</p>
          <ul>
            <li>Check your BIOS. If there is an option for RAM parity checking, enable it; it usually turns on NMI support. If there is something that says "NMI", turn it on.</li>
            <li>If you don't find anything in your BIOS, then go to your motherboard's website and download the latest BIOS flash. Install it and try your DOS sound (You may still have to enable the stuff in the BIOS afterwards).</li>
            <li>Failing the first two things, you could either get a new motherboard or get another compatible sound card alongside the SB Live!. Just attach a cable from the line out of the SB 16 to the line in of the SB Live!. Enable line in on the mixer of your SB Live! and it should route the sound through the old sound card (Don't use the SPDIF to connect the cards if you have one; wave sound doesn't pass through SPDIF--only MIDI).</li>
          </ul>
        </dd>
      </dl>
    </div>

    <div class="section" id="dos_input">
      <h4>Input</h4>

      <dl>
        <dt id="dos_input_sidewinder">Q: Why doesn't my Sidewinder pad work?</dt>
        <dd>A: First, for non-USB Sidewinders, you should disable the Sidewinder profiler from the Win9x icon tray, run ZSNES, set Input #1 as SidewinderPad1, then press the mode button a few times. If that doesn't work, try the following:
          <ul>
            <li>Try checking or unchecking <a href="gui.htm#config_input_sidewinder" title="Description of the Sidewinder Fix option">the Sidewinder Fix option</a> under <a href="gui.htm#config_options" title="Description of the Options dialog">Config Menu -> Options</a> and repeat the above steps.</li>
            <li>Fully disable the Win9x Sidewinder drivers by going to Control Panel/Game Controllers. Then remove the Sidewinder (Thanks Scarlet-Slider for this info!).</li>
            <li>Run ZSNES under pure DOS.</li>
            <li>Again, try checking or unchecking the Sidewinder Fix in the options menu of the GUI and repeat the above 2 steps.</li>
            <li>Make sure your Sidewinder is plugged in and is not broken.</li>
          </ul>
          <p>For USB joysticks, you can either set ZSNES as a 6-button joystick or simulate keyboard keys through the Sidewinder profiler by setting Input #1 as a keyboard with those defined keys.</p>
        </dd>

        <dt id="dos_input_moresidewinder">Q: How do I get my daisy-chained Sidewinder to work?</dt>
        <dd>A: First, run ZSNES. Temporarily disconnect the second Sidewinder pad from the first one, get the first one to work, then re-connect the second Sidewinder pad.</dd>

        <dt id="dos_input_gamepadpro">Q: Why doesn't my Gamepad Pro work?</dt>
        <dd>A: For the non-USB version, be sure to have your Gamepad Pro set on 'GrIP' mode. Then set the input device as Gamepad Pro P0. For the USB version, you can use a keyboard emulator, which should be included with the software that came with your joystick.</dd>

        <dt id="dos_input_joystick">Q: Why doesn't my joystick work anymore?</dt>
        <dd>A: You might have accidentally clicked the <a href="gui.htm#config_input" title="GUI Description of the Input Device dialog">Use Joystick Port 209H</a> check box. Just uncheck it.</dd>

        <dt id="dos_input_pressed">Q: Why does JB5/JB6 keep getting pressed whenever I try to change a key?</dt>
        <dd>A: Try changing your joystick type from 6-button to 4-button.</dd>
      </dl>
    </div>

    <div class="section" id="dos_crashes">
      <h4>Freezing/Crashing Issues</h4>

      <dl>
        <dt id="dos_crashes_freeze">Q: Why does ZSNES freeze when I run it under pure DOS?</dt>
        <dd>A: Try loading your mouse driver or run ZSNES using the -j <a href="advanced.htm#command_line_universal" title="List of command-line switches for all ZSNES ports">switch</a>. For the most compatible result, use the Microsoft Mouse driver if possible.</dd>

        <dt id="dos_crashes_rom">Q: Why does ZSNES crash when I load a ROM?</dt>
        <dd>A: It could be that ZSNES doesn't recognize your sound configuration. To fix it, disable sound or try changing your <a href="gui.htm#config_sound" title="Description of the Sound Config dialog">sound configuration</a>. Also see <a href="faq.htm#universal_crashes_badrom" title="Universal Question - Why does ZSNES crash as soon as I load a ROM?">this question</a>.</dd>

        <dt id="dos_crashes_gui">Q: Why does ZSNES freeze when I try to enter the GUI?</dt>
        <dd>A: Run ZSNES using the commandline -j.</dd>

        <dt id="dos_crashes_memory">Q: ZSNES gives me an "out of memory" error and I only have 16MB of RAM. How do I fix this?</dt>
        <dd>A: If you are running the DOS port of ZSNES from within Windows, try restarting the computer in DOS mode; more RAM should then presumably be available for ZSNES to use. To get it running under Win9x, first create a shortcut to the DOS prompt on the desktop (the filename 'target' can be <code>C:\command.com</code>). Next, right-click on the icon and go to Properties. Then, select the Memory tab and look below for Protected Mode (DPMI) settings and set a high value (like 20000). Last, double-click on that icon and load ZSNES as usual.</dd>
      </dl>
    </div>

    <div class="section" id="dos_misc">
      <h4>Miscellaneous</h4>

      <dl>
        <dt id="dos_misc_stdint">Q: I'm using DJGPP 2.03 and I get an error about missing stdint.h. What's wrong?</dt>
        <dd>A: You're probably missing this file. <a href="http://www.delorie.com/bin/cvsweb.cgi/djgpp/include/stdint.h" title="Download link for stdint.h">Download the latest version</a> of this file and put it in DJGPP's include directory.</dd>
      </dl>
    </div>
  </div>

</div>

<div id="footer">
  <h2>Footer</h2>
  <p>This documentation is best viewed in a standards-compliant web browser, like <a href="http://www.mozilla.com" title="Mozilla Corporation home page">Firefox</a> or <a href="http://www.opera.com" title="Opera web browser home page">Opera</a>.</p>

  <a href="http://sourceforge.net" title="SourceForge.net"><img style="border:0;width:88px;height:31px" src="http://sflogo.sourceforge.net/sflogo.php?group_id=127354&amp;type=1" alt="SourceForge.net Logo" /></a>
  <a href="http://sourceforge.net/donate/index.php?group_id=19677" title="Donate to the ZSNES Project"><img style="border:0;width:88px;height:32px" src="http://images.sourceforge.net/images/project-support.jpg" alt="Support This Project" /> </a>
  <span class="web_only">
    <a href="http://validator.w3.org/check?uri=referer" title="Validate this page's HTML"><img style="border:0;width:88px;height:31px" src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" /></a>
    <a href="http://jigsaw.w3.org/css-validator/check/referer" title="Validate this page's CSS"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" /></a>
  </span>

  <p><a href="license.htm" title="View the General Public License">Copyright (C) ZSNES Team &amp; ZSNES Documentation Team</a></p>
</div>

</div>

</body>

</html>
